Web services are an emerging technology that offers the dual promise of simplicity and pervasiveness. Web services represent the next level of function and efficiency in e-business. In the most primitive sense, Web services can be viewed as any mechanism by which an application service may be provided to other applications on the internet.
Web services may be informational or transactional. That is, some services provide information of interest to the requestor while other services may actually lead to the invocation of business processes. Examples of publicly available Web services today include stock quote services, services to retrieve news from Web news sources, and currency conversion services.
Because Web services are modular, related Web services can be aggregated into a larger Web service. For example, one can envision a wireless application composed of separate Web services that do such things as obtaining stock quotes, subscribing to news services, converting currency, and managing calendars. One particularly nice aspect of Web services is that the level of abstraction they provide makes it relatively simple to wrap an existing enterprise application and turn it into a Web service.
Web services provide a way to make key business processes accessible to customers, partners, and suppliers. For example, an airline could provide its airline reservation systems as a Web service to make it easier for its large corporate customers to integrate the service into their travel planning applications. A supplier can make its inventory levels and pricing accessible to its key buyers. This emerging technology enables e-business applications to be connected more easily both inside and outside the enterprise.
Web services are based on the extensible Markup Language (XML) standard data format and data exchange mechanisms, which provide both flexibility and platform independence. With Web services, requesters typically do not know or care about the underlying implementation of Web services, making it easy to integrate heterogeneous business processes.
One example of web-services are the services responsive to messages contained in Simple Object Access Protocol (SOAP) envelopes. SOAP is an application invocation protocol developed by IBM, Microsoft, and others that defines a simple protocol for exchanging information encoded as XML messages. It is more fully described in the working draft of SOAP version 1.2, available at Http://www.w3.org/2000/xp/, (referenced as Appendix A) appended hereto and incorporated by reference herein. Often, the services are described by WSDL (Web Service Description Language) notation stored in WSDL documents. WDSL is described in the Web Services Description Language 1.1 document, available at http://www.w3.org/TR/wsdl, (referenced as Appendix B) appended hereto and incorporated by reference herein. A WSDL document may be stored in numerous ways: in a file, in an XML Registry/Repository (such as the DB2 XRR(XML Registry/Repository)), or in a DB2 based UDDI Registry, for example. UDDI (Universal Description, Discovery, Integration) is a protocol for describing Web services such that interested parties may easily discover them. Specifications for this registry and use of WSDL in the registry are available currently at http://www.uddi.org/. Service providers may register their services in a UDDI, specifying technical information about how to invoke the service. IBM operates a publicly available UDDI service using DB2 and WebSphere.
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. A DBMS is structured to accept commands to store, retrieve, and delete data. One widely used and well known set of commands is called the Structured Query Language (SQL). Relational databases are organized into tables which consist of rows and columns of data. The rows are formally called tuples. A database will typically have many tables and each table will typically have multiple tuples and multiple columns. The tables are typically stored on direct access storage devices (DASD) such as magnetic or optical disk drives for semi-permanent storage.
In a web services environment, a number of advantages would be obtained by integrating web services into a database, and to enable simple invocation of those web services. One advantage is efficient set-oriented processing and parallel execution of web service invocations. Another advantage is that users could easily combine web service transactions and information with data residing in the database. A further advantage would be realized by automatically generating a database mechanism for invoking a web service to enable integration of the web service into the database.
A further advantage would be provided by exposing the data and appropriate processes of a database (e.g., stored procedures and user-defined functions) as web services.